package com.sea.base.fragment

/**
 * 可见性状态变化接口，方便其他项目的fragment兼容实现
 */
interface FragmentVisibilityChild {
    /**
     * 相对activity的整体可见性
     */
    val isVisibleActivity: Boolean

    /**
     * 相对Parent可见性
     */
    val isVisibleParent: Boolean

    fun onParentVisibleChanged(parentIsVisible: Boolean)

    /**
     * @param isFirstVisible 是是首次可见
     * 注意：这个布尔值是根据view算的（destroyView后再create就是first）
     */
    fun onVisible(isFirstVisible: Boolean) {
    }

    fun onHidden() {
    }
}